<template>
  <div ref="fourCityPer"
       class="four-city-per"></div>
</template>

<script>
import Bus from "../utils/bus.js"
export default {
  name: 'fourCityPer',
  mounted () {
    this.fourCity()
  },
  methods: {
    fourCity () {
      var myChart = this.$echarts.init(this.$refs["fourCityPer"]);
      // 绘制图表
      myChart.setOption({
        grid: {
          top: "7%",
          left: "20%",
          right: "25%",
          bottom: "2%"
        },
        yAxis: [
          {
            type: "category",
            data: [
              "  新街口 鼓楼区",
              " 南京南站 红花机场",
              "江北中心",
              "河西中心"
            ],
            inverse: true, //data的渲染方式，从左至右
            axisTick: {
              show: false //y轴刻度
            },
            axisLabel: {
              textStyle: {
                color: "white", //y轴数值
                fontSize: 14,
              },
              formatter: function (params) {
                console.log(params)
                var newParamsName = '';// 最终拼接成的字符串
                var paramsNameNumber = params.length;// 实际标签的个数
                var provideNumber = 5;// 每行能显示的字的个数
                var rowNumber = Math.ceil(paramsNameNumber / provideNumber);// 换行的话，需要显示几行，向上取整
                /**
                 * 判断标签的个数是否大于规定的个数， 如果大于，则进行换行处理 如果不大于，即等于或小于，就返回原标签
                 */
                // 条件等同于rowNumber>1
                if (paramsNameNumber > provideNumber) {
                  /** 循环每一行,p表示行 */
                  for (var p = 0; p < rowNumber; p++) {
                    var tempStr = '';// 表示每一次截取的字符串
                    var start = p * provideNumber;// 开始截取的位置
                    var end = start + provideNumber;// 结束截取的位置
                    // 此处特殊处理最后一行的索引值
                    if (p == rowNumber - 1) {
                      // 最后一次不换行
                      tempStr = params.substring(start, paramsNameNumber);
                    } else {
                      // 每一次拼接字符串并换行
                      tempStr = params.substring(start, end) + '\n';
                    }
                    newParamsName += tempStr;// 最终拼成的字符串

                  }
                } else {
                  // 将旧标签的值赋给新标签
                  newParamsName = params;
                }
                console.log(newParamsName)
                //将最终的字符串返回
                return newParamsName
              }
            },
            axisLine: {
              show: false
            },
            top: '10px'
          },
          {
            type: "category",
            offset: 35,
            data: ["▲", "▲", "▲", "▲"],
            axisTick: {
              show: false //x轴刻度
            },
            axisLine: {
              show: false
            },
            axisLabel: {
              textStyle: {
                color: "#00A753" //y轴数值
              }
            }
          },
          {
            name: "同比去年",
            nameTextStyle: {
              padding: [0, 0, -7, 30],
              color: "#5fcfca"
            },
            type: "category",
            offset: 50,
            data: [
              "8%",
              "9%",
              "11%",
              "15%",
            ],
            axisLabel: {
              textStyle: {
                color: "#5fcfca" //y轴数值
              }
            },
            axisTick: {
              show: false //x轴刻度
            },
            axisLine: {
              show: false
            }
          },

        ],
        xAxis: [
          {
            type: "value",
            show: false
          },
          {
            // name: "平方米/",
            nameLocation: "start",
            nameTextStyle: {
              padding: [0, -10, 30, 0],
              color: "white"
            },
            boundaryGap: false, //值对应刻度
            type: "category",
            position: "top", //x轴的位置
            axisTick: {
              show: false //x轴刻度
            },
            axisLabel: {
              interval: 0, //缩小之后坐标轴的值也全部显示
              textStyle: {
                color: "white" //x轴数值
              }
            },
            axisLine: {
              show: false
            },
            data: ["0", "2K", "4K", "6K", "8K", "1K"]
          }
        ],
        series: [
          {
            type: "bar",
            barWidth: 40, //每个柱形的宽度
            data: [
              8134,
              6500,
              4200,
              2500,
            ],
            label: {
              normal: {
                show: true,
                position: [10, 15],
                textStyle: {
                  color: "#fff",
                  fontSize: 13,
                  fontStyle: 'italic'
                }
              }
            },
            itemStyle: {
              normal: {
                color: {
                  type: "linear", //设置线性渐变
                  x: 0,
                  y: 0,
                  x2: 1,
                  y2: 1,
                  colorStops: [
                    {
                      offset: 0,
                      color: "rgb(3,150,255)" // 0% 处的颜色
                    },
                    {
                      offset: 1,
                      color: "rgb(0,234,179)" // 100% 处的颜色
                    }
                  ],

                  globalCoord: false // 缺省为 false
                }
              }
            }
          }
        ]
      });
      myChart.on("click", function (params) {
        console.log(params);
        Bus.$emit('fourCity', params.dataIndex)
      });
    }
  }
};
</script>